package com.hyt.it.ogt.ykcj.domain.vo.analysis;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hyt.it.ogt.ykcj.domain.param.EnterpriseScoreLineSaveParam;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * description
 * 考试分析对象
 *
 * @author yaojian
 * @createTime 2022/01/04
 */
@ApiModel(value = "考试分析对象", description = "考试分析对象")
@Data
public class ExamScoreAnalysisVo {

    /**
     * 考试类型
     */
    @ApiModelProperty(value = "考试类型")
    private String examType;
    /**
     * 参考人数
     */
    @ApiModelProperty(value = "参考人数")
    private int participateCount;
    /**
     * 总分
     */
    @ApiModelProperty(value = "总分")
    private BigDecimal totalScore;
    /**
     * 平均分
     */
    @ApiModelProperty(value = "平均分")
    private BigDecimal avgScore;
    /**
     * 分数线
     */
    @ApiModelProperty(value = "分数线列表")
    private List<EnterpriseScoreLineSaveParam> scoreLineList;
    /**
     * 最高分
     */
    @ApiModelProperty(value = "最高分")
    private BigDecimal maxScore;
    /**
     * 答题时长
     */
    @ApiModelProperty(value = "答题时长（毫秒）")
    private BigDecimal useTime;
    /**
     * 答题时长
     */
    @ApiModelProperty(value = "答题时长字符串")
    private String useTimeStr;
    /**
     * 平均答题时长
     */
    @ApiModelProperty(value = "平均答题时长（毫秒）")
    private BigDecimal avgTime;
    /**
     * 平均答题时长
     */
    @ApiModelProperty(value = "平均答题时长字符串")
    private String avgTimeStr;
    /**
     * 最低分
     */
    @ApiModelProperty(value = "最低分")
    private BigDecimal mixScore;
    /**
     * 考试开始时间
     */
    @ApiModelProperty(value = "考试开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    /**
     * 考试结束时间
     */
    @ApiModelProperty(value = "考试结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    /**
     * 考试科目
     */
    @ApiModelProperty(value = "考试科目")
    private int subjectCount;
    /**
     * 是否存在区间
     */
    @ApiModelProperty(value = "0：都没有，1：有合格率，2：有区间占比")
    private String exist;
    /**
     * 合格率（如果不存在区间，则有合格率）
     */
    @ApiModelProperty(value = "合格率（当有有合格率（exist=1）时候才展示对应的合格率,如果显示是为空，请用“--”显示内容）")
    private BigDecimal proportion;


    /**
     * 考试形式(0:考试;1:考试组)
     */
    @ApiModelProperty(value = "考试形式(0:考试;1:考试组)")
    private Integer examForm;

    /**
     * 应考人数
     */
    @ApiModelProperty(value = "应考人数 ")
    private Integer signNumber;

    /**
     * 缺考率
     */
    @ApiModelProperty(value = "缺考率 ")
    private BigDecimal signProportion;
}
